#pragma once

#include "base.hpp"
void PrintStd(const char *str);

class Block:public ToolBase{
private:
	int pos=-1;
public:
	char MapChar() const {return '#';};
	Color MapColor() const {return White;};
	bool PassFunction(User& user,std::vector<Land>& map,std::unordered_map<int,User*>& users){
		ASSERT(this->pos>=0);
		PrintStd("你被路障拦住了");
		user.SetPos(this->pos);
		return true;
	};
	void PutFunction(int putPos,User& user,std::vector<Land>& map,std::unordered_map<int,User*>& users){
		ASSERT(putPos>=0&&putPos<map.size());
		this->pos=putPos;
	};
	ToolType GetType(){return ToolType::Block;};
};
